An Evaluation of Regent and Legion in the Parallel Programming Landscape

ثبت نشده
چکیده

Legion is a fairly new runtime system and Regent is an even newer programming model that attempt to address the difficulty of writing high performance applications on distributed architectures with minimal complexity handling data partitioning and dependencies [1]. Regent is a dynamic language based on Lua optimized for high productivity that runs on the Legion runtime. [2] Very little research has been done so far analyzing the optimal use case for Regent and Legion and comparing the same program written in Regent with one written in traditional MPI or Charm++. I was interested in how writing implicit parallel programs differed in Regent vs. competing systems and whether it was able to achieve comparable or better performance with less complexity. Legion was created in 2012 and Regent was first developed in 2015, making them far newer than the more established systems I compared them to. MPI (Message Passing Interface) has long been the canonical standard for writing parallel programs on distributed architectures. However, MPI focuses on describing parallelism alone and does not handle imbalanced loads or provide abstractions for describing data. It was created in the early 1990’s. Charm++ is an object oriented parallel computing language built on C++ and developed in the Parallel Programming Laboratory at the University of Illinois. It has been around since the late 1980’s, although has existed in something close to its current state only for the last fifteen years. Charm++ allows programmers to describe their data in terms of objects and provides automatic load rebalancing by mapping objects to processors. [3] I avoided comparing Legion with implicitly parallel languages that execute on shared memory such as CUDA or OpenMP. Writing parallel programs for distributed architectures is increasingly important as larger super computer systems are built, and the movement of data largely impacts performance on such systems. Parallel languages on shared memory do not optimize for avoiding data movement and therefore were not comparable. I also excluded Spark, which executes on clusters with distributed shared memory. Spark was left out because it is not nearly as performant as C++ based systems. [4]

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Machine-Assisted Performance Optimization of Legion Applications

In our research group, we’re working on Legion, a new parallel programming model that targets large, distributed memory systems (e.g. large HPC clusters). It is not uncommon for such a machine to have thousands of nodes, multiple thousands of memories, and not just support, but require for performance, the use of millions of threads of execution. The many challenges that exist when programming ...

متن کامل

A fuzzy mixed-integer goal programming model for a parallel machine scheduling problem with sequence-dependent setup times and release dates

This paper presents a new mixed-integer goal programming (MIGP) model for a parallel machine scheduling problem with sequence-dependent setup times and release dates. Two objectives are considered in the model to minimize the total weighted flow time and the total weighted tardiness simultaneously. Due to the com-plexity of the above model and uncertainty involved in real-world scheduling probl...

متن کامل

Basic Fortran Support in Legion

Fortran is the most widely used programming language for high-performance scientific computing applications, yet in the past the Legion system has not supported objects implemented in Fortran. This paper describes the design and interface of the Legion Basic Fortran Support (BFS) system. This system consists of compiler and runtime library that allow the description of Legion object interfaces ...

متن کامل

EFFICIENCY MEASUREMENT OF NDEA WITH INTERVAL DATA

Data envelopment analysis (DEA) is a non-parametric technique for evaluation of relative efficiency of decision making units described by multiple inputs and outputs. It is based on solving linear programming problems. Since 1978 when basic DEA model was introduced many its modifications were formulated. Among them are two or multi-stage models with serial or parallel structure often called net...

متن کامل

Improving the Energy Management of Parallel Hybrid Electric Vehicle by Dynamic Programming Using Electro-Thermal Model of Battery

In this paper, an offline energy management system (EMS) is proposed for parallel hybrid electric vehicles (HEVs). The proper energy management system is necessary for dividing torque between electrical motor and Internal Combustion Engine (ICE). The battery is a crucial component of hybrid electric vehicles and affects significantly the cost and the performance of the whole vehicle. The primar...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2017